﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Iudicium.Servicio
{
    /// <summary>
    /// Summary description for Involucrado
    /// </summary>
    public class Involucrado
    {

        #region Atributos

        private int _involucradoId;
        private int _servicioId;
        private int _personaId;
        private string _nombrePersona;
        private TipoInvolucrado _tipo;
        
        #endregion

        #region Propiedades

        public int InvolucradoId
        {
            set { _involucradoId = value; }
            get { return _involucradoId; } 
        }

        public int ServicioId
        {
            set { _servicioId = value; }
            get { return _servicioId; }
        }

        public int PersonaId
        {
            set { _personaId = value; }
            get { return _personaId; }
        }

        public string NombrePersona
        {
            set { _nombrePersona = value; }
            get { return _nombrePersona; }
        }

        public TipoInvolucrado Tipo
        {
            set { _tipo = value; }
            get { return _tipo; }
        }

        #endregion

        public enum TipoInvolucrado
        {
            Demandante, 
            Demandado,
            Participante
        }

        public Involucrado(int involucradoId, int servicioId, int personaId, string nombrePersona, TipoInvolucrado tipo)
        {
            this._involucradoId = involucradoId;
            this._servicioId = servicioId;
            this._personaId = personaId;
            this._nombrePersona = nombrePersona;
            this._tipo = tipo;
        }

        public static TipoInvolucrado GetTipoInvolucradoFromString(string tipo)
        {
            switch (tipo)
            {
                case "Demandante":
                    {
                        return TipoInvolucrado.Demandante;
                    }
                case "Demandado":
                    {
                        return TipoInvolucrado.Demandado;
                    }
                case "Participante":
                    {
                        return TipoInvolucrado.Participante;
                    }
            }
            return TipoInvolucrado.Participante;
        }
    }
}